#ifndef FACTORY_PATTERN_H
#define FACTORY_PATTERN_H

#include <QString>

class Shape
{
    public:
        virtual ~Shape() {}
        virtual void draw() = 0;
};

class Rectangle : public Shape
{
public:
    ~Rectangle() {}
    void draw();
};

class Square : public Shape
{
public:
    ~Square() {}
    void draw();
};

class Circle : public Shape
{
public:
    ~Circle() {}
    void draw();
};

class ShapeFactory
{
public:
    Shape * getShape(QString shapeType);
};


#endif // FACTORY_PATTERN_H
